Les IA de type LLM n’arrêtent pas d’évoluer à une vitesse folle. Ce qui était impossible il y a quelques mois devient la norme aujourd’hui. Alors que j’utilisais ChatGPT et Claude pour m’aider à programmer de petits utilitaires, je me suis posé la question suivante : est-il possible de programmer une application entière uniquement grâce à l’IA, sans jamais toucher au code ?
Cela fait des années que j’utilise ChatGPT, et par la suite Claude (surtout Claude Code), pour m’aider à programmer (quand je ne teste pas des applications spécifiquement créées pour cela). Je suis malheureusement un piètre programmeur, et j’utilisais ces IA pour me rendre service. Mon utilisation était basique : je faisais toute l’architecture de mes applications et quand j'avais un souci au niveau d’une fonction, je posais une question pour trouver une solution, ou une idée pour me débloquer. J’analysais la réponse, la collais dans mon code et le modifiais.
Cependant, depuis un an, je me surprends à ne plus le modifier et à accepter presque tel quel le code fourni par l'IA. Pire : il est évident que ce que me fournit l’IA est de bien meilleure qualité que ce que j’aurais pu écrire, et cela dans une fraction du temps. Une idée a donc germé dans mon esprit malade : serait-il possible de développer une application entière par l’IA, sans que j'écrive (ou même regarde) une seule ligne de code ? D’autant plus qu’apparemment, je ne suis pas le seul à me poser cette question.
Une application de suivi de séries TV
Il me fallait alors une idée d’application pour tester ma théorie. Il se trouve que je n’en manque pas. Néanmoins, il y a une application que j’utilise tous les jours et qui me frustre : mon application de suivi de lecture de mes séries TV. Or, je les ai toutes utilisées. Popcorn, CheatCut, FilmNoir, Sequel, Watcht, TeeVee, Gatsby, Simkl, Sofa Time, Cronica, Queue, ReelGood, Serialzd, BetaSeries, etc.
Oui, j'en ai testé pas mal...
J’en ai ensuite testé des dizaines pour finalement me rabattre sur TV Forecast. Mais le développeur n’a plus vraiment continué le développement (il a tout compte fait publié des mises à jour juste au moment où je finalisais ma première bêta…). De toute façon, aucune application ne correspondait exactement à ce que je voulais. Voilà donc mon sujet choisi !
Un prototype existant
Même si les IA allaient faire le plus gros du travail, il fallait tout de même bien savoir ce que l’on veut comme produit final. Il se trouve que j’avais développé avec Claude une simple application HTML/Javascript que j’utilisais depuis plusieurs mois.
L'application HTML/Javascript, utilisée comme PWA, fonctionnait très bien sur iPhone.
Ce n’était pas une application native mais elle faisait très bien le boulot. Installée comme application PWA sur mon iPhone, elle correspondait très bien à mon utilisation. J’allais donc prendre cette version comme base pour l’application iPhone native que j’allais développer. Le sujet était devenu en plus d’actualité : TV Time allait fermer ses portes, laissant beaucoup d’utilisateurs dans la panade.
Savoir exactement ce que l’on veut
Les applications existantes étaient pour la plupart très bonnes. Cependant, elles avaient souvent trop de fonctionnalités par rapport à mes besoins. Et puis, il y avait toujours quelque chose qui me chiffonnait. Par exemple, je veux pouvoir noter un épisode vu le plus rapidement possible, en un seul tap. Or, beaucoup d’applications vous poussent à passer par plusieurs écrans différents avant d’arriver aux épisodes qui vous intéressent.
Du coup, j’ai fait le choix de faire une application très ramassée. Pas de film, pas de statistiques, pas de fiches d’acteurs : que des séries avec leurs épisodes. Je dois pouvoir noter un épisode vu en un tap. L’application doit aussi m’afficher tous les épisodes disponibles rapidement, dès le lancement de l’application. Je veux aussi voir en un coup d'œil la durée du prochain épisode, pour savoir si j’ai le temps de le voir et le choisir en conséquence. Pas de note à donner, pas de commentaire, pas de demande pour savoir quel personnage j’ai préféré, pas de partage sur les réseaux sociaux.
L'application native SwiftUI, au final assez proche du prototype.
Dans un autre écran, je veux aussi voir les épisodes qui vont bientôt être diffusés. Enfin, l’application doit me permettre de mettre des séries dans un endroit à voir plus tard et d'avoir un système de recherche performant. Bref, j’avais une idée assez précise de ce que je voulais.
Une IA très avancée
Un autre élément m’a poussé à regarder le développement aidé par les IA : le demi-dieu Linus Torvalds lui-même indiquant qu’elles étaient utiles pour le développement (et l’autre demi-dieu John Carmack est du même avis).
Les IA m'ont permis de mieux naviguer l'horreur qu'est l'App Store Connect.
Dans les faits, l'IA m'a guidé pas à pas, y compris là où je ne l'attendais pas : la soumission à l'App Store, la gestion de la plateforme App Store Connect, la création du compte développeur, la gestion du beta testing avec TestFlight et j’en passe. Claude Code m'a pris par la main, m'indiquant quoi faire malgré les dizaines d'erreurs rencontrées. Et quand le problème ne venait pas de nous, il me l'expliquait. Heureusement, d'ailleurs : App Store Connect est infect à utiliser, plante régulièrement, tourne dans le vide. Des éléments apparaissent, ou pas, au gré des rechargements. Comment Apple peut-elle laisser un tel outil entre les mains de millions de développeurs ? C'est honteux.
Le design sans savoir dessiner
Je ne suis pas un designer. J’ai même honte de le dire : je suis incapable d’utiliser Photoshop. Comme pour tout le reste du projet, je voulais que l’IA fasse le maximum de choses sous ma direction, pour savoir jusqu’où on pouvait aller. C’est ainsi que j’ai demandé à Claude Design de s’occuper du design de l’icône ainsi que de l’application. Ici, pas de miracle. Ce qui est fourni de base est assez générique. Mais si l’on sait ce que l’on veut avec précision, il est possible d’avoir quelque chose de correct.
Sony Trinitron avec son antenne.
J’avais comme idée de départ une icône sur fond rouge, toute l’application ayant une teinte rouge distinctive. Je voulais aussi avoir une icône de vieille télévision, avec son antenne sur le dessus, comme les premières TV Sony Trinitron. Après plusieurs allers-retours avec Claude Design, j’ai réussi à obtenir un logo qui correspond assez à ce que je veux.
Les propositions de Claude Design pour l'icône de l'application.
Développement : juste moi, des IA et le terminal
Ma règle était simple : à chaque étape, je demande à l'IA de tout faire, même quand c'est elle qui me suggère de m'en charger. Je lui demande conseil que j’applique par la suite, ou pas. Je ne me suis rarement autant amusé qu'en développant de cette façon.
Quand mon iPhone n'apparaissait pas dans la barre d'outils de Xcode pour tester l'application en natif plutôt que sur simulateur, je me suis interdit toute recherche en ligne : uniquement Claude pour débugger, du début à la fin. Oui, je sais : au niveau écologique, c’est une hérésie. Ceci étant, c’était pour tester ma théorie, comme une expérience scientifique…
L'idée était de vérifier s'il est vraiment possible de tout faire avec l'IA aujourd'hui. Et pas besoin d'un setup de dingue avec une armée d'agents : juste moi qui discute avec Claude Code dans le terminal. Rien que cela, c'est déjà puissant. Claude Code compile le projet tout seul, vérifie s’il y a des erreurs, les corrige, etc. Et là où j'ai toujours la flemme de gérer proprement le versionnage, les commits et surtout leurs messages, l'IA le fait très bien à ma place.
Pour rester dans les clous côté budget, j'ai travaillé avec les abonnements à 20 € de Claude et de ChatGPT, en passant de l'un à l'autre principalement à cause des limites d'usage toutes les cinq heures et hebdomadaires. Claude Code d'un côté, Codex de l'autre. Même les scénarios de bêta test ont été rédigés par Claude. J'ai laissé les IA analyser les performances avec Instruments, lancer une revue de sécurité via /security-review, et fait tourner tous les tests dans le simulateur.
Claude Code qui manipule le simulateur directement dans l'application.
En cours de développement, Anthropic a sorti une fonctionnalité qui m’a bien aidé : Claude Code est intégré à l'application et peut piloter directement le simulateur et une extension, il contrôle aussi le navigateur. Idéal pour lui demander de tester tous les scénarios de synchronisation. Ce fut long, et loin d'être simple. Mais toujours faisable.
L’IA pour m’aider de bout en bout
Je voulais pousser le concept jusqu'à l'absurde : que l'IA en fasse le plus possible, et pas seulement côté code. La création du compte App Store, donc, mais aussi tout ce qui gravite autour : l'ajout des coordonnées bancaires, l’inscription à l’App Store Small Business Program qui permet une réduction de commissions. Là encore, App Store Connect m'a joué des tours, au point que l'IA a fini par me conseiller de basculer en navigation privée pour contourner ses bugs.
L'IA m'a également aidé à créer la fiche de l'application, jusqu'aux captures d'écran. D’ailleurs, je comptais utiliser des applications pour faire ces captures d’écran (applications conseillées par une IA évidemment). Cependant, je me suis rendu compte que ChatGPT était tout à fait capable de générer ces images dans le style que je voulais.
Images pour l'App Store, toute générées par ChatGPT à partir d'impressions d'écran de l'application.
Bêta test…
Le bêta test a suivi la même logique. Claude Code a pratiquement tout fait : du suivi des retours, de l’analyse des remontées, de la gestion des différents builds et de leurs écarts, de la rédaction des messages aux bêta-testeurs pour leur expliquer quoi tester, etc.
Tout n'a pas été simple. Au départ, l'application reposait entièrement sur Trakt pour le suivi et les informations de séries. Manque de bol, en plein développement, le service est passé en v3 et a serré la vis sur les limites de connexion. Gros chantier imprévu : j'ai dû tout basculer sur TVMaze pour la récupération des informations des séries. C’est le genre d’imprévu qui m’aurait totalement démoralisé et fait abandonner il y a encore pas si longtemps.
Cependant, avec l’aide de Claude Code, cela n’a été au final qu’un petit imprévu. Mieux, cela a permis à mon application d’être au final meilleure, n’ayant plus besoin d’un compte Trakt. Cela a été réglé au bout de quelques sessions de conversations, pour finalement deux jours de travail : magique.
Ainsi que le site web
L'IA m'a même conseillé pour le site web. Alors que j’étais parti pour créer un site vitrine avec la plateforme Carrd, une discussion avec ChatGPT me fait découvrir une solution parfaite. Je mets tout le code de mon site web sur GitHub, Cloudflare Pages s’occupe de l’hébergement et sert aussi de publicateur en ligne. Tout cela gratuitement. J'ai ensuite acheté un nom de domaine chez Hover, l’IA m’a aidé à configurer tout cela (DNS, etc.) et hop : me voilà avec un site web correct pour au final pas grand-chose, si ce n’est l’achat du nom de domaine pour 20 $.
Le site web, intégralement fait par Claude.
Le site web a d’ailleurs été totalement codé par Claude Code : vous pouvez y accéder à cette adresse. Il est aussi disponible dans la langue de Shakespear, car je prévois une version en langue anglaise de mon application pour la version 1.2 qui sortira en octobre.
Refus de l’App Store
Évidemment, que serait le développement sur iPhone sans un refus de l’App Store ? Cela a été mon cas. Mais pas de panique, à chaque refus, j’ai donné le mail indiquant les raisons à l’IA qui m’a expliqué ce qu’il manquait. Pour le premier refus, c’était juste l’absence d’un lien vers la EULA dans la description de l’application. Codex a même parcouru le site, regardé tous les éléments de la page de mon application pour une vérification complète.
Le code n'est plus la barrière
Verdict ? Oui, il est possible de développer une application de A à Z avec une IA. On peut aujourd'hui concevoir une application native, la déboguer, la soumettre et la diffuser sur l'App Store sans écrire une seule ligne de code soi-même. Ce qui m'a le plus frappé, ce n'est pas la performance brute de l'IA sur le code, mais sa capacité à m'accompagner sur tout le reste : la paperasse, les outils obscurs, les captures d'écran, les messages aux testeurs. Le code n'est plus la barrière.
Faut-il en conclure que n'importe qui peut sortir la prochaine application à succès en un week-end ? Sûrement pas. Il faut encore savoir exactement ce que l'on veut, prendre mille décisions, tester, recommencer, encaisser les imprévus (comme le passage de Trakt à TVMaze). L'IA ne remplace pas le fait d'avoir une vision claire. De même, avoir de bonnes notions en développement reste un atout : à plusieurs reprises, alors que l'IA tournait en boucle, je l'ai aidée à trouver le problème simplement en posant des questions sur la structure du code et des données. Mais je ne suis pas sûr que ce sera encore le cas dans un an, voire dans quelques mois.
Enfin, le succès d’une application passe principalement par le marketing et un budget de communication conséquent, utilisé intelligemment. Mon exemple personnel est parlant : je suis assez content de mon application, mais en une semaine de présence sur l’App Store, elle n'a été téléchargée qu'une poignée de fois, sans aucune vente/abonnement. Ce qui est normal : mise à part quelques tweets, je n’ai mis en place aucune communication. D’ailleurs, si vous voulez l’essayer, c’est par ici.
Pour conclure, il faut tout de même aborder les différents éléments qui m’inquiètent. Le premier est l’utilisation des IA est un problème au niveau de l’environnement. Les data centers utilisent de l’eau pour se refroidir, eau qui pourrait être utilisée pour autre chose, comme faire pousser des céréales. De plus, ces mêmes data centers polluent énormément. En effet, la plupart, surtout implantés aux USA, utilisent des turbines à gaz pour produire leur électricité, rejetant beaucoup de CO2 dans l'atmosphère. Elon Musk s’est même offert récemment une société qui fabrique des turbines à gaz… Et Amazon construit une des plus grandes centrales à gaz au monde afin de fournir l'électricité à ces data centers.
Ensuite, les IA comme Claude ou ChatGPT sont pour l’instant assez abordables : ces sociétés perdent d’ailleurs de l’argent sur chacun des abonnements. Je ne peux imaginer l’horreur d’un développeur, utilisant massivement ces outils, si ces entreprises augmentent leur prix de manière drastique. Certains me répondront qu’il faudra alors utiliser des modèles open-source et open-weight en local, mais vu le prix de la RAM et des SSD, je ne suis pas sûr que ce soit une réelle solution (et les performances sont quand même en deçà des meilleurs modèles en ligne).
Enfin, ma dernière inquiétude porte sur l’industrie. Alors que l’informatique est souvent perçue comme un marché qui ne connaît pas la crise (ce qui est factuellement faux, comme j’ai pu le vivre à plusieurs reprises dans ma carrière), l’arrivée massive des IA change la donne. Autant le besoin de développeur senior explose, autant plus aucune entreprise n'embauche de développeur débutant. Apparemment, elles tablent sur des développeurs expérimentés à la tête d’une armée d’agents, ne formant plus de développeurs junior. Toutes les grandes entreprises enchainent les plans de licenciements, même quand les bénéfices se comptent en dizaines de milliards par an...
Autant je suis totalement subjugué par les possibilités de ces nouveaux outils, autant je suis assez terrifié par les conséquences de leurs utilisations.
Pour finir sur une note plus positive, j’offre un accès à vie à l’application à cinq personnes choisies au hasard qui laisseront un commentaire. L’offre à vie est proposée à 12,99 € pour le lancement, avant de passer à 24,99 €.